package design.onekey.service;

import com.baomidou.mybatisplus.extension.service.IService;
import design.onekey.base.BaseEntity;
import design.onekey.base.PageEntity;
import design.onekey.model.dto.UserInfoDto;
import design.onekey.model.UserRole;
import design.onekey.model.dto.UserRoleDto;

import java.util.List;

/**
* @Description: UserRole服务接口
* @author
* @date 2020-06-05 04:03:38
* @version V1.0
*/
public interface IUserRoleService extends IService<UserRole>,GenericService<UserRole>{

   /**
   * @Title: tablePagingQuery
   * @Description: 表格分页查询
   * @param @param model
   * @return BaseEntity
   * @throws
   */
   PageEntity getTableList(UserRoleDto model, UserInfoDto userInfoDto);

   /**
   *<p>Title: getDetail</p>
   *<p>Description: 获取详情</p>
   * @author blcloak
   * @param id
   * @return
   */
   BaseEntity getDetail(Long id);

   /**
   *<p>Title: insert</p>
   *<p>Description: 新增数据</p>
   * @author blcloak
   * @param model
   * @return
   */
   BaseEntity insert(UserRole model, UserInfoDto userInfoDto);

   /**
   *<p>Title: update</p>
   *<p>Description: 更新数据</p>
   * @author blcloak
   * @param model
   */
   BaseEntity update(UserRole model, UserInfoDto userInfoDto);

   /**
   *<p>Title: delete</p>
   *<p>Description: 单条删除数据</p>
   * @author blcloak
   * @param model
   * @return
   */
   BaseEntity delete(Long id);

   /**
   *<p>Title: deleteBatch</p>
   *<p>Description: 批量删除数据</p>
   * @author blcloak
   * @param list
   * @return
   */
   BaseEntity deleteBatch(List<Long> ids);

   /**
    * @Title: getUserRole
    * @Description: 根据用户id获取角色信息
    * @param userId
    * @return
    * @author blcloak
    * @date 2020-06-05 05:14:44
    */
   UserRole getUserRole(Long userId);

   /**
    * @Title: getOrgRoles
    * @Description: 获取组织下对应的角色
    * @param userRole
    * @return
    * @author blcloak
    * @date 2020-06-09 06:27:03
    */
   List<UserRole> getOrgRoles(UserRoleDto userRole);

   /**
    * @Title: authed
    * @Description: 菜单授权
    * @param userRoleDto
    * @return
    * @author blcloak
    * @date 2020-06-11 02:20:20
    */
   BaseEntity authed(UserRoleDto userRoleDto);
}
